use std::mem::swap;

pub fn odd_fibnacci_sum(threshold: u32) -> u32 {
    let mut ans = 0;
    let mut f1 = 0;
    let mut f2 = 1;
    while f2 < threshold {
        if (f2 & 1) == 1 {
            ans += f2;
        }
        f1 += f2;
        swap(&mut f1, &mut f2);
    }
    ans
}
